package shooter.handler;

import shooter.models.Player;

import shooter.models.Shot;
import shooter.models.Wall;

/**
 * This inteface provides methods which are important for the game logic. 
 * 
 * @author Michail Tausch
 */
public interface GameEventListener {
	
	/**
	 * A player object would be removed.
	 * @param player
	 */
	public void disposePlayer(Player player);
	
	/**
	 * Creates a new shot object.
	 * @param shot
	 * @param player
	 */
	public void newShot(Shot shot, Player player);
	
	/**
	 * A shot object would be removed.
	 * @param shot
	 */
	public void disposeShot(Shot shot);
	
	/**
	 * Creates a new wall object.
	 * @param wall
	 */
	public void newWall(Wall wall);
}
